DBComboBox a jeho Items - konverzia typu

Otázka od: Jan Kostial

8. 10. 2004 15:32

Zdravim, riesil niekto nasledovnu vec? :

Potrebujem do databazy ukladat hodnoty ordinalneho vymenovaneho typu.

Napriklad:
    TDayOfWeek = (pondelok,utorok,streda, stvrtok,piatok,sobota,nedela);

Do databazy sa teda ukladaju ciselne hodnoty 0-6.

Potrebujem, aby DBComboBox zobrazoval uzivatelovi nie cisla, ale retazce,
tak ako su vymenovane v type.
Samozrejme mozem pouzit obycajny ComboBox a doprogramovat to, ale to
nechcem.

Mate niekto nejaku ideu? (Existujuci komponent?)

Dik.

Lucky.



Odpovedá: Jan Sebelik

9. 10. 2004 6:26

> [mailto:delphi-l-owner@clexpert.cz]On Behalf Of Jan Kostial
> Potrebujem do databazy ukladat hodnoty ordinalneho vymenovaneho typu.
> Do databazy sa teda ukladaju ciselne hodnoty 0-6.
>
> Potrebujem, aby DBComboBox zobrazoval uzivatelovi nie cisla, ale retazce,
> tak ako su vymenovane v type.

Mozna existuje lepsi reseni, ale me napada:

Na prislusnem fieldu

OnGetText - konvertuje hodnotu fieldu na text
- DBComboBox.Items[Field.AsInteger]

OnSetText - konvertuje text na hodnotu fieldu
- DBComBoBox.IndexOf(text)

viz nase kurzy Delphi

Honza
====================================
= RNDr. Jan Sebelik - HAES
= Skolici a konzultacni stredisko pro vyvoj SW
= www.haes.cz
= Vojtiskova 321
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347 735)
====================================